﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using EstacionDePoder.Codigo;
using BLLEP.Funcionalidad;
using BLLEP;
using System.Drawing;
using System.IO;
using System.Drawing.Imaging;

namespace EstacionDePoder
{
    public partial class MostrarImagen : FormGenerico
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (Request.QueryString["IdPedido"] != null)
                {
                    BLLPagoTransferencia bllPagoTransferencia = new BLLPagoTransferencia();
                    EP_PagoTransferencia pago = bllPagoTransferencia.TraerPago(User.Identity.Name, int.Parse(Request.QueryString["IdPedido"]));

                    if(pago != null)
                    {
                        string archivoCompleto = Server.MapPath(CarpetaComprobantes.Replace("~", "") + pago.NombreArchivo);
                        if (pago.NombreArchivo.ToLower().Contains("pdf"))
                        {
                            Response.ContentType = "application/pdf";
                            Response.WriteFile(archivoCompleto);
                        }
                        else
                        {
                            byte[] bytes = File.ReadAllBytes(archivoCompleto);
                            System.Drawing.Image img = ConvertirEnImage(bytes);
                        
                            if(pago.NombreArchivo.ToLower().EndsWith(".jpg"))
                            {
                                Response.ContentType = @"image/jpeg";
                                img.Save(Response.OutputStream, ImageFormat.Jpeg);
                            }
                            else
                            {
                                Response.ContentType = @"image/png";
                                img.Save(Response.OutputStream, ImageFormat.Png);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {

                throw;
            }
        }
    }
}